<!DOCTYPE html>
<html lang="en">

<head>
  <base
    href="https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%85%B3%E4%BA%8E%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6" />
  <meta charset='utf-8'>
  <meta content='IE=edge,chrome=1' http-equiv='X-UA-Compatible'>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Git - 关于版本控制</title>

  <link href='/favicon.ico' rel='shortcut icon' type='image/x-icon'>

  <link rel="stylesheet" media="screen"
    href="/assets/application-a058ab010d6f86a86903175bbfdaac30ef6057e5901875616753328abbf98b2c.css" />
  <script src="/assets/modernize-b3ebe0c31c24f230dc62179d3e1030d2e57a53b1668d9382c0a27dbd44a94beb.js"></script>
  <!--[if (gte IE 6)&(lte IE 8)]>
  <script src="/javascripts/selectivizr-min.js"></script>
  <![endif]-->

</head>

<body id="documentation">

  <div class="inner">
    <header>

      <a href="/"><img src="/images/logo@2x.png" width="110" height="46" alt="Git" /></a>
      <span id="tagline"></span>
      <script type="text/javascript">
        var taglines = ["fast-version-control", "everything-is-local", "distributed-even-if-your-workflow-isnt", "local-branching-on-the-cheap", "distributed-is-the-new-centralized"];
        var tagline = taglines[Math.floor(Math.random() * taglines.length)];
        document.getElementById('tagline').innerHTML = '--' + tagline;
      </script>
      <form id="search" action="/search/results">
        <input id="search-text" name="search" placeholder="Search entire site..." autocomplete="off" type="text" />
      </form>
      <div id="search-results"></div>

    </header>

  </div> <!-- .inner -->

  <div class="inner">
    <div id="content-wrapper">
      <button class="sidebar-btn"></button>
      <aside class="sidebar" id="sidebar">
        <nav>
          <ul>
            <li>
              <a href="/about">About</a>
              <ul class="">
                <li>
                  <a href="/about">Branching and Merging</a>
                </li>
                <li>
                  <a href="/about/small-and-fast">Small and Fast</a>
                </li>
                <li>
                  <a href="/about/distributed">Distributed</a>
                </li>
                <li>
                  <a href="/about/info-assurance">Data Assurance</a>
                </li>
                <li>
                  <a href="/about/staging-area">Staging Area</a>
                </li>
                <li>
                  <a href="/about/free-and-open-source">Free and Open Source</a>
                </li>
                <li>
                  <a href="/about/trademark">Trademark</a>
                </li>
              </ul>
            </li>
            <li>
              <a class="active" href="/doc">Documentation</a>
              <ul class="expanded">
                <li>
                  <a href="/docs">Reference</a>
                </li>
                <li>
                  <a class="active" href="/book">Book</a>
                </li>
                <li>
                  <a href="/videos">Videos</a>
                </li>
                <li>
                  <a href="/doc/ext">External Links</a>
                </li>
              </ul>
            </li>
            <li>
              <a href="/downloads">Downloads</a>
              <ul class="">
                <li>
                  <a href="/downloads/guis">GUI Clients</a>
                </li>
                <li>
                  <a href="/downloads/logos">Logos</a>
                </li>
              </ul>
            </li>
            <li>
              <a href="/community">Community</a>
            </li>
          </ul>
          <hr class="sidebar">
          <p>
            This book is available in
            <a href="/book/en">English</a>.
          </p>
          <p>
            Full translation available in
          <table>
            <tr>
              <td><a href="/book/az">azərbaycan dili</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/bg">български език</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/de">Deutsch</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/es">Español</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/fr">Français</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/gr">Ελληνικά</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/ja">日本語</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/ko">한국어</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/nl">Nederlands</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/ru">Русский</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/sl">Slovenščina</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/tl">Tagalog</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/uk">Українська</a></td>
            </tr>
            <tr>
              <td><a href="/book/zh">简体中文</a>,</td>
            </tr>
          </table>
          </p>
          <p>
            Partial translations available in
          <table>
            <tr>
              <td><a href="/book/cs">Čeština</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/mk">Македонски</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/pl">Polski</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/sr">Српски</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/uz">Ўзбекча</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/zh-tw">繁體中文</a>,</td>
            </tr>
          </table>
          </p>
          <p>
            Translations started for
          <table>
            <tr>
              <td><a href="/book/be">Беларуская</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/fa" dir="rtl">فارسی</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/id">Indonesian</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/it">Italiano</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/ms">Bahasa Melayu</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/pt-br">Português (Brasil)</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/pt-pt">Português (Portugal)</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/sv">Svenska</a>,</td>
            </tr>
            <tr>
              <td><a href="/book/tr">Türkçe</a>.</td>
            </tr>
          </table>
          </p>
          <hr class="sidebar" />
          <p>
            The source of this book is <a href="https://github.com/progit/progit2-zh">hosted on GitHub.</a></br>
            Patches, suggestions and comments are welcome.
          </p>


        </nav>
      </aside>

      <div id="content">


        <div id='book-chapters'>
          <a class="dropdown-trigger" id="book-chapters-trigger" data-panel-id="chapters-dropdown" href="#">Chapters
            ▾</a>
          <div class='dropdown-panel' id='chapters-dropdown'>
            <div class="three-column">
              <div class='column-left'>
                <ol class='book-toc'>
                  <li class='chapter'>
                    <h2>1. <a
                        href="/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%85%B3%E4%BA%8E%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6">起步</a>
                    </h2>
                    <ol>
                      <li>
                        1.1
                        <a href="/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%85%B3%E4%BA%8E%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6"
                          class=active>关于版本控制 </a>
                      </li>
                      <li>
                        1.2
                        <a href="/book/zh/v2/%E8%B5%B7%E6%AD%A5-Git-%E7%AE%80%E5%8F%B2">Git 简史 </a>
                      </li>
                      <li>
                        1.3
                        <a href="/book/zh/v2/%E8%B5%B7%E6%AD%A5-Git-%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F">Git 是什么？ </a>
                      </li>
                      <li>
                        1.4
                        <a href="/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%91%BD%E4%BB%A4%E8%A1%8C">命令行 </a>
                      </li>
                      <li>
                        1.5
                        <a href="/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git">安装 Git </a>
                      </li>
                      <li>
                        1.6
                        <a
                          href="/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%88%9D%E6%AC%A1%E8%BF%90%E8%A1%8C-Git-%E5%89%8D%E7%9A%84%E9%85%8D%E7%BD%AE">初次运行
                          Git 前的配置 </a>
                      </li>
                      <li>
                        1.7
                        <a href="/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E8%8E%B7%E5%8F%96%E5%B8%AE%E5%8A%A9">获取帮助 </a>
                      </li>
                      <li>
                        1.8
                        <a href="/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E6%80%BB%E7%BB%93">总结 </a>
                      </li>
                    </ol>
                  </li>
                  <li class='chapter'>
                    <h2>2. <a href="/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%8E%B7%E5%8F%96-Git-%E4%BB%93%E5%BA%93">Git
                        基础</a></h2>
                    <ol>
                      <li>
                        2.1
                        <a href="/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%8E%B7%E5%8F%96-Git-%E4%BB%93%E5%BA%93">获取 Git 仓库
                        </a>
                      </li>
                      <li>
                        2.2
                        <a
                          href="/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%AE%B0%E5%BD%95%E6%AF%8F%E6%AC%A1%E6%9B%B4%E6%96%B0%E5%88%B0%E4%BB%93%E5%BA%93">记录每次更新到仓库
                        </a>
                      </li>
                      <li>
                        2.3
                        <a
                          href="/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E6%9F%A5%E7%9C%8B%E6%8F%90%E4%BA%A4%E5%8E%86%E5%8F%B2">查看提交历史
                        </a>
                      </li>
                      <li>
                        2.4
                        <a href="/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E6%92%A4%E6%B6%88%E6%93%8D%E4%BD%9C">撤消操作 </a>
                      </li>
                      <li>
                        2.5
                        <a
                          href="/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E7%9A%84%E4%BD%BF%E7%94%A8">远程仓库的使用
                        </a>
                      </li>
                      <li>
                        2.6
                        <a href="/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E6%89%93%E6%A0%87%E7%AD%BE">打标签 </a>
                      </li>
                      <li>
                        2.7
                        <a href="/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-Git-%E5%88%AB%E5%90%8D">Git 别名 </a>
                      </li>
                      <li>
                        2.8
                        <a href="/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E6%80%BB%E7%BB%93">总结 </a>
                      </li>
                    </ol>
                  </li>
                  <li class='chapter'>
                    <h2>3. <a href="/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%AE%80%E4%BB%8B">Git 分支</a>
                    </h2>
                    <ol>
                      <li>
                        3.1
                        <a href="/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%AE%80%E4%BB%8B">分支简介 </a>
                      </li>
                      <li>
                        3.2
                        <a
                          href="/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB%BA%E4%B8%8E%E5%90%88%E5%B9%B6">分支的新建与合并
                        </a>
                      </li>
                      <li>
                        3.3
                        <a href="/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%AE%A1%E7%90%86">分支管理 </a>
                      </li>
                      <li>
                        3.4
                        <a
                          href="/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E6%B5%81">分支开发工作流
                        </a>
                      </li>
                      <li>
                        3.5
                        <a href="/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E8%BF%9C%E7%A8%8B%E5%88%86%E6%94%AF">远程分支 </a>
                      </li>
                      <li>
                        3.6
                        <a href="/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%8F%98%E5%9F%BA">变基 </a>
                      </li>
                      <li>
                        3.7
                        <a href="/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E6%80%BB%E7%BB%93">总结 </a>
                      </li>
                    </ol>
                  </li>
                  <li class='chapter'>
                    <h2>4. <a
                        href="/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E5%8D%8F%E8%AE%AE">服务器上的
                        Git</a></h2>
                    <ol>
                      <li>
                        4.1
                        <a href="/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E5%8D%8F%E8%AE%AE">协议
                        </a>
                      </li>
                      <li>
                        4.2
                        <a
                          href="/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E5%9C%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%90%AD%E5%BB%BA-Git">在服务器上搭建
                          Git </a>
                      </li>
                      <li>
                        4.3
                        <a
                          href="/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E7%94%9F%E6%88%90-SSH-%E5%85%AC%E9%92%A5">生成
                          SSH 公钥 </a>
                      </li>
                      <li>
                        4.4
                        <a
                          href="/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E9%85%8D%E7%BD%AE%E6%9C%8D%E5%8A%A1%E5%99%A8">配置服务器
                        </a>
                      </li>
                      <li>
                        4.5
                        <a
                          href="/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-Git-%E5%AE%88%E6%8A%A4%E8%BF%9B%E7%A8%8B">Git
                          守护进程 </a>
                      </li>
                      <li>
                        4.6
                        <a href="/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-Smart-HTTP">Smart HTTP
                        </a>
                      </li>
                      <li>
                        4.7
                        <a href="/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-GitWeb">GitWeb </a>
                      </li>
                      <li>
                        4.8
                        <a href="/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-GitLab">GitLab </a>
                      </li>
                      <li>
                        4.9
                        <a
                          href="/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E7%AC%AC%E4%B8%89%E6%96%B9%E6%89%98%E7%AE%A1%E7%9A%84%E9%80%89%E6%8B%A9">第三方托管的选择
                        </a>
                      </li>
                      <li>
                        4.10
                        <a href="/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E6%80%BB%E7%BB%93">总结
                        </a>
                      </li>
                    </ol>
                  </li>
                  <li class='chapter'>
                    <h2>5. <a
                        href="/book/zh/v2/%E5%88%86%E5%B8%83%E5%BC%8F-Git-%E5%88%86%E5%B8%83%E5%BC%8F%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B">分布式
                        Git</a></h2>
                    <ol>
                      <li>
                        5.1
                        <a
                          href="/book/zh/v2/%E5%88%86%E5%B8%83%E5%BC%8F-Git-%E5%88%86%E5%B8%83%E5%BC%8F%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B">分布式工作流程
                        </a>
                      </li>
                      <li>
                        5.2
                        <a
                          href="/book/zh/v2/%E5%88%86%E5%B8%83%E5%BC%8F-Git-%E5%90%91%E4%B8%80%E4%B8%AA%E9%A1%B9%E7%9B%AE%E8%B4%A1%E7%8C%AE">向一个项目贡献
                        </a>
                      </li>
                      <li>
                        5.3
                        <a href="/book/zh/v2/%E5%88%86%E5%B8%83%E5%BC%8F-Git-%E7%BB%B4%E6%8A%A4%E9%A1%B9%E7%9B%AE">维护项目
                        </a>
                      </li>
                      <li>
                        5.4
                        <a href="/book/zh/v2/%E5%88%86%E5%B8%83%E5%BC%8F-Git-%E6%80%BB%E7%BB%93">总结 </a>
                      </li>
                    </ol>
                  </li>
                </ol>

              </div>
              <div class='column-middle'>
                <ol class='book-toc'>
                  <li class='chapter'>
                    <h2>6. <a
                        href="/book/zh/v2/GitHub-%E8%B4%A6%E6%88%B7%E7%9A%84%E5%88%9B%E5%BB%BA%E5%92%8C%E9%85%8D%E7%BD%AE">GitHub</a>
                    </h2>
                    <ol>
                      <li>
                        6.1
                        <a
                          href="/book/zh/v2/GitHub-%E8%B4%A6%E6%88%B7%E7%9A%84%E5%88%9B%E5%BB%BA%E5%92%8C%E9%85%8D%E7%BD%AE">账户的创建和配置
                        </a>
                      </li>
                      <li>
                        6.2
                        <a href="/book/zh/v2/GitHub-%E5%AF%B9%E9%A1%B9%E7%9B%AE%E5%81%9A%E5%87%BA%E8%B4%A1%E7%8C%AE">对项目做出贡献
                        </a>
                      </li>
                      <li>
                        6.3
                        <a href="/book/zh/v2/GitHub-%E7%BB%B4%E6%8A%A4%E9%A1%B9%E7%9B%AE">维护项目 </a>
                      </li>
                      <li>
                        6.4
                        <a href="/book/zh/v2/GitHub-%E7%AE%A1%E7%90%86%E7%BB%84%E7%BB%87">管理组织 </a>
                      </li>
                      <li>
                        6.5
                        <a href="/book/zh/v2/GitHub-%E8%84%9A%E6%9C%AC-GitHub">脚本 GitHub </a>
                      </li>
                      <li>
                        6.6
                        <a href="/book/zh/v2/GitHub-%E6%80%BB%E7%BB%93">总结 </a>
                      </li>
                    </ol>
                  </li>
                  <li class='chapter'>
                    <h2>7. <a
                        href="/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E9%80%89%E6%8B%A9%E4%BF%AE%E8%AE%A2%E7%89%88%E6%9C%AC">Git
                        工具</a></h2>
                    <ol>
                      <li>
                        7.1
                        <a
                          href="/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E9%80%89%E6%8B%A9%E4%BF%AE%E8%AE%A2%E7%89%88%E6%9C%AC">选择修订版本
                        </a>
                      </li>
                      <li>
                        7.2
                        <a href="/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E4%BA%A4%E4%BA%92%E5%BC%8F%E6%9A%82%E5%AD%98">交互式暂存
                        </a>
                      </li>
                      <li>
                        7.3
                        <a href="/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E8%B4%AE%E8%97%8F%E4%B8%8E%E6%B8%85%E7%90%86">贮藏与清理
                        </a>
                      </li>
                      <li>
                        7.4
                        <a href="/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E7%AD%BE%E7%BD%B2%E5%B7%A5%E4%BD%9C">签署工作 </a>
                      </li>
                      <li>
                        7.5
                        <a href="/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E6%90%9C%E7%B4%A2">搜索 </a>
                      </li>
                      <li>
                        7.6
                        <a href="/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E9%87%8D%E5%86%99%E5%8E%86%E5%8F%B2">重写历史 </a>
                      </li>
                      <li>
                        7.7
                        <a href="/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E9%87%8D%E7%BD%AE%E6%8F%AD%E5%AF%86">重置揭密 </a>
                      </li>
                      <li>
                        7.8
                        <a href="/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E9%AB%98%E7%BA%A7%E5%90%88%E5%B9%B6">高级合并 </a>
                      </li>
                      <li>
                        7.9
                        <a href="/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-Rerere">Rerere </a>
                      </li>
                      <li>
                        7.10
                        <a href="/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E4%BD%BF%E7%94%A8-Git-%E8%B0%83%E8%AF%95">使用 Git 调试
                        </a>
                      </li>
                      <li>
                        7.11
                        <a href="/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97">子模块 </a>
                      </li>
                      <li>
                        7.12
                        <a href="/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E6%89%93%E5%8C%85">打包 </a>
                      </li>
                      <li>
                        7.13
                        <a href="/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E6%9B%BF%E6%8D%A2">替换 </a>
                      </li>
                      <li>
                        7.14
                        <a href="/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%87%AD%E8%AF%81%E5%AD%98%E5%82%A8">凭证存储 </a>
                      </li>
                      <li>
                        7.15
                        <a href="/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E6%80%BB%E7%BB%93">总结 </a>
                      </li>
                    </ol>
                  </li>
                  <li class='chapter'>
                    <h2>8. <a href="/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-%E9%85%8D%E7%BD%AE-Git">自定义 Git</a></h2>
                    <ol>
                      <li>
                        8.1
                        <a href="/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-%E9%85%8D%E7%BD%AE-Git">配置 Git </a>
                      </li>
                      <li>
                        8.2
                        <a href="/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-Git-%E5%B1%9E%E6%80%A7">Git 属性 </a>
                      </li>
                      <li>
                        8.3
                        <a href="/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-Git-%E9%92%A9%E5%AD%90">Git 钩子 </a>
                      </li>
                      <li>
                        8.4
                        <a
                          href="/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-%E4%BD%BF%E7%94%A8%E5%BC%BA%E5%88%B6%E7%AD%96%E7%95%A5%E7%9A%84%E4%B8%80%E4%B8%AA%E4%BE%8B%E5%AD%90">使用强制策略的一个例子
                        </a>
                      </li>
                      <li>
                        8.5
                        <a href="/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-%E6%80%BB%E7%BB%93">总结 </a>
                      </li>
                    </ol>
                  </li>
                  <li class='chapter'>
                    <h2>9. <a
                        href="/book/zh/v2/Git-%E4%B8%8E%E5%85%B6%E4%BB%96%E7%B3%BB%E7%BB%9F-%E4%BD%9C%E4%B8%BA%E5%AE%A2%E6%88%B7%E7%AB%AF%E7%9A%84-Git">Git
                        与其他系统</a></h2>
                    <ol>
                      <li>
                        9.1
                        <a
                          href="/book/zh/v2/Git-%E4%B8%8E%E5%85%B6%E4%BB%96%E7%B3%BB%E7%BB%9F-%E4%BD%9C%E4%B8%BA%E5%AE%A2%E6%88%B7%E7%AB%AF%E7%9A%84-Git">作为客户端的
                          Git </a>
                      </li>
                      <li>
                        9.2
                        <a
                          href="/book/zh/v2/Git-%E4%B8%8E%E5%85%B6%E4%BB%96%E7%B3%BB%E7%BB%9F-%E8%BF%81%E7%A7%BB%E5%88%B0-Git">迁移到
                          Git </a>
                      </li>
                      <li>
                        9.3
                        <a href="/book/zh/v2/Git-%E4%B8%8E%E5%85%B6%E4%BB%96%E7%B3%BB%E7%BB%9F-%E6%80%BB%E7%BB%93">总结
                        </a>
                      </li>
                    </ol>
                  </li>
                  <li class='chapter'>
                    <h2>10. <a
                        href="/book/zh/v2/Git-%E5%86%85%E9%83%A8%E5%8E%9F%E7%90%86-%E5%BA%95%E5%B1%82%E5%91%BD%E4%BB%A4%E4%B8%8E%E4%B8%8A%E5%B1%82%E5%91%BD%E4%BB%A4">Git
                        内部原理</a></h2>
                    <ol>
                      <li>
                        10.1
                        <a
                          href="/book/zh/v2/Git-%E5%86%85%E9%83%A8%E5%8E%9F%E7%90%86-%E5%BA%95%E5%B1%82%E5%91%BD%E4%BB%A4%E4%B8%8E%E4%B8%8A%E5%B1%82%E5%91%BD%E4%BB%A4">底层命令与上层命令
                        </a>
                      </li>
                      <li>
                        10.2
                        <a href="/book/zh/v2/Git-%E5%86%85%E9%83%A8%E5%8E%9F%E7%90%86-Git-%E5%AF%B9%E8%B1%A1">Git 对象
                        </a>
                      </li>
                      <li>
                        10.3
                        <a href="/book/zh/v2/Git-%E5%86%85%E9%83%A8%E5%8E%9F%E7%90%86-Git-%E5%BC%95%E7%94%A8">Git 引用
                        </a>
                      </li>
                      <li>
                        10.4
                        <a href="/book/zh/v2/Git-%E5%86%85%E9%83%A8%E5%8E%9F%E7%90%86-%E5%8C%85%E6%96%87%E4%BB%B6">包文件
                        </a>
                      </li>
                      <li>
                        10.5
                        <a
                          href="/book/zh/v2/Git-%E5%86%85%E9%83%A8%E5%8E%9F%E7%90%86-%E5%BC%95%E7%94%A8%E8%A7%84%E8%8C%83">引用规范
                        </a>
                      </li>
                      <li>
                        10.6
                        <a
                          href="/book/zh/v2/Git-%E5%86%85%E9%83%A8%E5%8E%9F%E7%90%86-%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE">传输协议
                        </a>
                      </li>
                      <li>
                        10.7
                        <a
                          href="/book/zh/v2/Git-%E5%86%85%E9%83%A8%E5%8E%9F%E7%90%86-%E7%BB%B4%E6%8A%A4%E4%B8%8E%E6%95%B0%E6%8D%AE%E6%81%A2%E5%A4%8D">维护与数据恢复
                        </a>
                      </li>
                      <li>
                        10.8
                        <a
                          href="/book/zh/v2/Git-%E5%86%85%E9%83%A8%E5%8E%9F%E7%90%86-%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F">环境变量
                        </a>
                      </li>
                      <li>
                        10.9
                        <a href="/book/zh/v2/Git-%E5%86%85%E9%83%A8%E5%8E%9F%E7%90%86-%E6%80%BB%E7%BB%93">总结 </a>
                      </li>
                    </ol>
                  </li>
                </ol>

              </div>
              <div class='column-right'>
                <ol class='book-toc'>
                  <li class='chapter'>
                    <h2>A1. <a
                        href="/book/zh/v2/%E9%99%84%E5%BD%95-A%3A-%E5%9C%A8%E5%85%B6%E5%AE%83%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Git-%E5%9B%BE%E5%BD%A2%E7%95%8C%E9%9D%A2">附录
                        A: 在其它环境中使用 Git</a></h2>
                    <ol>
                      <li>
                        A1.1
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-A%3A-%E5%9C%A8%E5%85%B6%E5%AE%83%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Git-%E5%9B%BE%E5%BD%A2%E7%95%8C%E9%9D%A2">图形界面
                        </a>
                      </li>
                      <li>
                        A1.2
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-A%3A-%E5%9C%A8%E5%85%B6%E5%AE%83%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Git-Visual-Studio-%E4%B8%AD%E7%9A%84-Git">Visual
                          Studio 中的 Git </a>
                      </li>
                      <li>
                        A1.3
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-A%3A-%E5%9C%A8%E5%85%B6%E5%AE%83%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Git-Visual-Studio-Code-%E4%B8%AD%E7%9A%84-Git">Visual
                          Studio Code 中的 Git </a>
                      </li>
                      <li>
                        A1.4
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-A%3A-%E5%9C%A8%E5%85%B6%E5%AE%83%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Git-Eclipse-%E4%B8%AD%E7%9A%84-Git">Eclipse
                          中的 Git </a>
                      </li>
                      <li>
                        A1.5
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-A%3A-%E5%9C%A8%E5%85%B6%E5%AE%83%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Git-IntelliJ-%2F-PyCharm-%2F-WebStorm-%2F-PhpStorm-%2F-RubyMine-%E4%B8%AD%E7%9A%84-Git">IntelliJ
                          / PyCharm / WebStorm / PhpStorm / RubyMine 中的 Git </a>
                      </li>
                      <li>
                        A1.6
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-A%3A-%E5%9C%A8%E5%85%B6%E5%AE%83%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Git-Sublime-Text-%E4%B8%AD%E7%9A%84-Git">Sublime
                          Text 中的 Git </a>
                      </li>
                      <li>
                        A1.7
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-A%3A-%E5%9C%A8%E5%85%B6%E5%AE%83%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Git-Bash-%E4%B8%AD%E7%9A%84-Git">Bash
                          中的 Git </a>
                      </li>
                      <li>
                        A1.8
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-A%3A-%E5%9C%A8%E5%85%B6%E5%AE%83%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Git-Zsh-%E4%B8%AD%E7%9A%84-Git">Zsh
                          中的 Git </a>
                      </li>
                      <li>
                        A1.9
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-A%3A-%E5%9C%A8%E5%85%B6%E5%AE%83%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Git-Git-%E5%9C%A8-PowerShell-%E4%B8%AD%E4%BD%BF%E7%94%A8-Git">Git
                          在 PowerShell 中使用 Git </a>
                      </li>
                      <li>
                        A1.10
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-A%3A-%E5%9C%A8%E5%85%B6%E5%AE%83%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Git-%E6%80%BB%E7%BB%93">总结
                        </a>
                      </li>
                    </ol>
                  </li>
                  <li class='chapter'>
                    <h2>A2. <a
                        href="/book/zh/v2/%E9%99%84%E5%BD%95-B%3A-%E5%9C%A8%E4%BD%A0%E7%9A%84%E5%BA%94%E7%94%A8%E4%B8%AD%E5%B5%8C%E5%85%A5-Git-%E5%91%BD%E4%BB%A4%E8%A1%8C-Git-%E6%96%B9%E5%BC%8F">附录
                        B: 在你的应用中嵌入 Git</a></h2>
                    <ol>
                      <li>
                        A2.1
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-B%3A-%E5%9C%A8%E4%BD%A0%E7%9A%84%E5%BA%94%E7%94%A8%E4%B8%AD%E5%B5%8C%E5%85%A5-Git-%E5%91%BD%E4%BB%A4%E8%A1%8C-Git-%E6%96%B9%E5%BC%8F">命令行
                          Git 方式 </a>
                      </li>
                      <li>
                        A2.2
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-B%3A-%E5%9C%A8%E4%BD%A0%E7%9A%84%E5%BA%94%E7%94%A8%E4%B8%AD%E5%B5%8C%E5%85%A5-Git-Libgit2">Libgit2
                        </a>
                      </li>
                      <li>
                        A2.3
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-B%3A-%E5%9C%A8%E4%BD%A0%E7%9A%84%E5%BA%94%E7%94%A8%E4%B8%AD%E5%B5%8C%E5%85%A5-Git-JGit">JGit
                        </a>
                      </li>
                      <li>
                        A2.4
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-B%3A-%E5%9C%A8%E4%BD%A0%E7%9A%84%E5%BA%94%E7%94%A8%E4%B8%AD%E5%B5%8C%E5%85%A5-Git-go-git">go-git
                        </a>
                      </li>
                      <li>
                        A2.5
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-B%3A-%E5%9C%A8%E4%BD%A0%E7%9A%84%E5%BA%94%E7%94%A8%E4%B8%AD%E5%B5%8C%E5%85%A5-Git-Dulwich">Dulwich
                        </a>
                      </li>
                    </ol>
                  </li>
                  <li class='chapter'>
                    <h2>A3. <a
                        href="/book/zh/v2/%E9%99%84%E5%BD%95-C%3A-Git-%E5%91%BD%E4%BB%A4-%E8%AE%BE%E7%BD%AE%E4%B8%8E%E9%85%8D%E7%BD%AE">附录
                        C: Git 命令</a></h2>
                    <ol>
                      <li>
                        A3.1
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-C%3A-Git-%E5%91%BD%E4%BB%A4-%E8%AE%BE%E7%BD%AE%E4%B8%8E%E9%85%8D%E7%BD%AE">设置与配置
                        </a>
                      </li>
                      <li>
                        A3.2
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-C%3A-Git-%E5%91%BD%E4%BB%A4-%E8%8E%B7%E5%8F%96%E4%B8%8E%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE">获取与创建项目
                        </a>
                      </li>
                      <li>
                        A3.3
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-C%3A-Git-%E5%91%BD%E4%BB%A4-%E5%BF%AB%E7%85%A7%E5%9F%BA%E7%A1%80">快照基础
                        </a>
                      </li>
                      <li>
                        A3.4
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-C%3A-Git-%E5%91%BD%E4%BB%A4-%E5%88%86%E6%94%AF%E4%B8%8E%E5%90%88%E5%B9%B6">分支与合并
                        </a>
                      </li>
                      <li>
                        A3.5
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-C%3A-Git-%E5%91%BD%E4%BB%A4-%E9%A1%B9%E7%9B%AE%E5%88%86%E4%BA%AB%E4%B8%8E%E6%9B%B4%E6%96%B0">项目分享与更新
                        </a>
                      </li>
                      <li>
                        A3.6
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-C%3A-Git-%E5%91%BD%E4%BB%A4-%E6%A3%80%E6%9F%A5%E4%B8%8E%E6%AF%94%E8%BE%83">检查与比较
                        </a>
                      </li>
                      <li>
                        A3.7
                        <a href="/book/zh/v2/%E9%99%84%E5%BD%95-C%3A-Git-%E5%91%BD%E4%BB%A4-%E8%B0%83%E8%AF%95">调试 </a>
                      </li>
                      <li>
                        A3.8
                        <a href="/book/zh/v2/%E9%99%84%E5%BD%95-C%3A-Git-%E5%91%BD%E4%BB%A4-%E8%A1%A5%E4%B8%81">补丁 </a>
                      </li>
                      <li>
                        A3.9
                        <a href="/book/zh/v2/%E9%99%84%E5%BD%95-C%3A-Git-%E5%91%BD%E4%BB%A4-%E9%82%AE%E4%BB%B6">邮件 </a>
                      </li>
                      <li>
                        A3.10
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-C%3A-Git-%E5%91%BD%E4%BB%A4-%E5%A4%96%E9%83%A8%E7%B3%BB%E7%BB%9F">外部系统
                        </a>
                      </li>
                      <li>
                        A3.11
                        <a href="/book/zh/v2/%E9%99%84%E5%BD%95-C%3A-Git-%E5%91%BD%E4%BB%A4-%E7%AE%A1%E7%90%86">管理 </a>
                      </li>
                      <li>
                        A3.12
                        <a
                          href="/book/zh/v2/%E9%99%84%E5%BD%95-C%3A-Git-%E5%91%BD%E4%BB%A4-%E5%BA%95%E5%B1%82%E5%91%BD%E4%BB%A4">底层命令
                        </a>
                      </li>
                    </ol>
                  </li>
                </ol>

              </div>
            </div>
          </div>

          <span class="light" id="edition">
            2nd Edition
          </span>
        </div>

        <div id='main' class="book edition2">
          <h1>1.1 起步 - 关于版本控制</h1>
          <div>
            <p>本章为 Git 入门。
              我们从介绍版本控制工具的背景知识开始，然后讲解如何在你的系统上运行 Git，最后是关于如何设置 Git 以便开始工作。
              通过本章的学习，你应该能了解为什么 Git 这么流行，为什么你应该使用 Git 以及你应该如何设置以便使用 Git。</p>
            <h2 id="_关于版本控制">关于版本控制</h2>
            <div class="paragraph">
              <p>
                什么是“版本控制”？我为什么要关心它呢？
                版本控制是一种记录一个或若干文件内容变化，以便将来查阅特定版本修订情况的系统。
                在本书所展示的例子中，我们对保存着软件源代码的文件作版本控制，但实际上，你可以对任何类型的文件进行版本控制。</p>
            </div>
            <div class="paragraph">
              <p>如果你是位图形或网页设计师，可能会需要保存某一幅图片或页面布局文件的所有修订版本（这或许是你非常渴望拥有的功能），采用版本控制系统（VCS）是个明智的选择。
                有了它你就可以将选定的文件回溯到之前的状态，甚至将整个项目都回退到过去某个时间点的状态，你可以比较文件的变化细节，查出最后是谁修改了哪个地方，从而找出导致怪异问题出现的原因，又是谁在何时报告了某个功能缺陷等等。
                使用版本控制系统通常还意味着，就算你乱来一气把整个项目中的文件改的改删的删，你也照样可以轻松恢复到原先的样子。
                但额外增加的工作量却微乎其微。</p>
            </div>
            <div class="sect3">
              <h3 id="_本地版本控制系统">本地版本控制系统</h3>
              <div class="paragraph">
                <p>
                  许多人习惯用复制整个项目目录的方式来保存不同的版本，或许还会改名加上备份时间以示区别。
                  这么做唯一的好处就是简单，但是特别容易犯错。
                  有时候会混淆所在的工作目录，一不小心会写错文件或者覆盖意想外的文件。</p>
              </div>
              <div class="paragraph">
                <p>为了解决这个问题，人们很久以前就开发了许多种本地版本控制系统，大多都是采用某种简单的数据库来记录文件的历次更新差异。</p>
              </div>
              <div class="imageblock">
                <div class="content">
                  <img src="/book/en/v2/images/local.png" alt="本地版本控制图解">
                </div>
                <div class="title">Figure 1. 本地版本控制.</div>
              </div>
              <div class="paragraph">
                <p>其中最流行的一种叫做 RCS，现今许多计算机系统上都还看得到它的踪影。
                  <a href="https://www.gnu.org/software/rcs/">RCS</a>
                  的工作原理是在硬盘上保存补丁集（补丁是指文件修订前后的变化）；通过应用所有的补丁，可以重新计算出各个版本的文件内容。
                </p>
              </div>
            </div>
            <div class="sect3">
              <h3 id="_集中化的版本控制系统">集中化的版本控制系统</h3>
              <div class="paragraph">
                <p>
                  接下来人们又遇到一个问题，如何让在不同系统上的开发者协同工作？
                  于是，集中化的版本控制系统（Centralized Version Control Systems，简称 CVCS）应运而生。
                  这类系统，诸如 CVS、Subversion 以及 Perforce 等，都有一个单一的集中管理的服务器，保存所有文件的修订版本，而协同工作的人们都通过客户端连到这台服务器，取出最新的文件或者提交更新。
                  多年以来，这已成为版本控制系统的标准做法。</p>
              </div>
              <div class="imageblock">
                <div class="content">
                  <img src="/book/en/v2/images/centralized.png" alt="集中化的版本控制图解">
                </div>
                <div class="title">Figure 2. 集中化的版本控制.</div>
              </div>
              <div class="paragraph">
                <p>这种做法带来了许多好处，特别是相较于老式的本地 VCS 来说。
                  现在，每个人都可以在一定程度上看到项目中的其他人正在做些什么。
                  而管理员也可以轻松掌控每个开发者的权限，并且管理一个 CVCS 要远比在各个客户端上维护本地数据库来得轻松容易。</p>
              </div>
              <div class="paragraph">
                <p>事分两面，有好有坏。
                  这么做最显而易见的缺点是中央服务器的单点故障。
                  如果宕机一小时，那么在这一小时内，谁都无法提交更新，也就无法协同工作。
                  如果中心数据库所在的磁盘发生损坏，又没有做恰当备份，毫无疑问你将丢失所有数据——包括项目的整个变更历史，只剩下人们在各自机器上保留的单独快照。
                  本地版本控制系统也存在类似问题，只要整个项目的历史记录被保存在单一位置，就有丢失所有历史更新记录的风险。</p>
              </div>
            </div>
            <div class="sect3">
              <h3 id="_分布式版本控制系统">分布式版本控制系统</h3>
              <div class="paragraph">
                <p>
                  于是分布式版本控制系统（Distributed Version Control System，简称 DVCS）面世了。
                  在这类系统中，像 Git、Mercurial、Bazaar 以及 Darcs 等，客户端并不只提取最新版本的文件快照，
                  而是把代码仓库完整地镜像下来，包括完整的历史记录。
                  这么一来，任何一处协同工作用的服务器发生故障，事后都可以用任何一个镜像出来的本地仓库恢复。
                  因为每一次的克隆操作，实际上都是一次对代码仓库的完整备份。</p>
              </div>
              <div class="imageblock">
                <div class="content">
                  <img src="/book/en/v2/images/distributed.png" alt="分布式版本控制图解">
                </div>
                <div class="title">Figure 3. 分布式版本控制.</div>
              </div>
              <div class="paragraph">
                <p>更进一步，许多这类系统都可以指定和若干不同的远端代码仓库进行交互。籍此，你就可以在同一个项目中，分别和不同工作小组的人相互协作。
                  你可以根据需要设定不同的协作流程，比如层次模型式的工作流，而这在以前的集中式系统中是无法实现的。</p>
              </div>
            </div>
            <div id="nav"><a href="/book">prev</a> | <a
                href="/book/zh/v2/%E8%B5%B7%E6%AD%A5-Git-%E7%AE%80%E5%8F%B2">next</a></div>
          </div>
        </div>

      </div>
    </div>
    <footer>
      <div class="site-source">
        <a href="/site">About this site</a><br>
        Patches, suggestions, and comments are welcome.
      </div>
      <div class="sfc-member">
        Git is a member of <a href="/sfc">Software Freedom Conservancy</a>
      </div>
    </footer>
    <a href="#top" class="no-js scrollToTop" id="scrollToTop" data-label="Scroll to top">
      <img src="/images/icons/chevron-up@2x.png" width="20" height="20" alt="scroll-to-top" />
    </a>
    <script src="/assets/application-b09f91f7c527919e4bc194769429065537d64a7f73b9fe93b107afef32b02939.js"></script>

  </div>

</body>

</html>